iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
自我挑戰組

富士大顆系列 第 4

vol.04 JavaScript 的 10 個學習重點:JS 並非萬能,但是沒有 JS 萬萬不能

  • 分享至 

  • xImage
  •  

大家好,我是富士大顆 Aiko
JavaScript 是我第一個認識的程式語言,主要是跟著 AstroCamp 的進度,會是從前端學到後端。
那也由於 JS 的「語法寬鬆性」以及「經常變化」,對新手而言確實是比較難以上手。


以下是我學習 JavaScript 的心得,掌握這幾個重點,你也可以戒掉止痛藥(?):

先了解基本概念:

  1. 變數(Variables)
    var, let, const。不過,自 ECMAScript 6(ES6)開始,會建議使用 letconst,因為它們有更嚴格的作用域(Scope)規則。

  2. 資料類型(Data Types)
    Number, String, Boolean, Object, Array, Function 等等。不同的資料類型有不同的使用方式。

  3. 條件句(Conditional Statements)
    if, else/switch...case,這個的使用就跟邏輯有關係了

  4. 迴圈 (Loops)
    最常見的是for迴圈和while迴圈。除此之外,ES6 還引入了for...of迴圈,用於取用陣列中的每個元素。還有for...in用於拿取對象的指定屬性。例如:

const person = {
  firstName: "貝果",
  lastName: "陳",
  age: 33
};

for (let key in person) {
  console.log(key + ": " + person[key]);
}
//firstName: "貝果"
//lastName: "陳"
//age: 33

迴圈首先從目標對象 object 中選取第一個屬性,並將其名稱儲存在變數 variable 中。
然後,執行迴圈內的操作,這個範例就是 console.log
迴圈重複進行,選擇下一個屬性,並再將其名稱存儲在變數 variable 中,然後再次執行操作。
此過程一直持續到完成所有 object 內的動作。

使用一個方便的開發環境:

如 Visual Studio Code 或是 CodePen

函數(Functions):

包括如何定義函數、傳遞參數和返回值(return)。

function add1(i){
  i = i+1;
console.log(i);
}
//

陣列和物件的操作:

如何操作陣列和物件,不同屬性有不同的 methods,包括新增、刪除、更改屬性(例如從數字變字串),以及使用陣列的內建方法,如 push()pop()splice()等。

ES6 :

ECMAScript 6(ES6)的新特性,如箭頭函式、解構、字串符號(${name})、預設參數等。
函式表示法:

// 匿名函式 Traditional anonymous function
(function (a, b) {
  return a + b + 100;
});

// 箭頭函式 Arrow function
(a, b) => a + b + 100;

解構:

// 陣列解構賦值
const [first, second] = [1, 2];

// 物件解構賦值
const { name, age } = { name: "貝果", age: 33 };

字串符號:

const name = "貝果";
const greeting = `Hello, ${name}!`;
// Hello, 貝果!

debug 方法:

我們通常會使用console.log(xxxxx) 來確認現在走到哪一行,xxxxx可以換成任何你想在 console 印出的東西;另外在遇到處理 http 請求的狀況下,也可以使用 try...catch

try {
    const result = 10 / 0; // 假設這個就是我們預設的錯誤,數字不得除以0
    console.log(result); // 這行不會執行
} catch (error) {
    // 在錯誤發生時執行這裡的程式
    console.error("An error occurred:", error.message);
}

catch 中的 error 變數將捕獲到引發錯誤的對象,也就是「除數不能為零」,並且使用 error 變數來拿取錯誤訊息(error.message)。

閉包(closure)和作用域(scope):

理解變數的可見性和生存期。

非同步處理:

使用Promiseasync/await 等技術來處理非同步任務,例如 http 請求。

this:

是一個特殊的關鍵字,它代表了當前 code 的上下文或物件。理解 this 是非常重要的,因為它在 JavaScript 中的使用非常廣泛,但也容易引起混淆。
例如:箭頭函式沒有 this

學習框架:

學習一種框架,如 React、Vue.js,或是 Angular。


大致上是這樣,後面有機會我們再來仔細介紹各個要點吧(茶)
可能因為第一個接觸的就是 JS
傷我也最深(????


上一篇
vol.03 全端學習推薦大禮包:10 個你無法說 no 的線上免費資源
下一篇
vol.05 如紅寶石般閃耀的您-Ruby 學習筆記 (一) 基本的資料型態(Primitive Data Types)
系列文
富士大顆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言